package xyz.ylx.proxy.cglib.create;

public class Main {

    public static void main(String[] args) {
        Proxy proxy = new Proxy();
        Target target = new Target();
        proxy.setMethodInterceptor((o, method, objects, methodProxy) -> {
            System.out.println("before");
            // return method.invoke(target, objects) // 反射调用
            // return methodProxy.invoke(target, objects); // 内部无反射，结合目标用
            return methodProxy.invokeSuper(o, objects); // 内部无反射，结合代理用
        });

        proxy.save();
        proxy.save(1);
        proxy.save(2L);
    }
}
